iT邦幫忙

2021 iThome 鐵人賽

DAY 9
1
Software Development

C 語言的簡單入門系列 第 9

【Day 09】C 的關係運算子與邏輯運算子

  • 分享至 

  • xImage
  •  

今天一開始,讓我們先介紹一下,甚麼是關係運算子!

關係運算子

關係運算子顧名思義,就是用來比較兩個變數之間關係的運算子,通常會包含等式和不等式。
現在我們假設有兩個變數:變數 a 與變數 b。

運算子 說明
== 如果程式碼寫a==b,代表如果 a 等於 b,條件為真。
!= 如果程式碼寫a!=b,代表如果 a 不等於 b,條件為真。
> 如果程式碼寫a>b,代表如果 a 大於 b,條件為真。
< 如果程式碼寫a<b,代表如果 a 小於 b,條件為真。
>= 如果程式碼寫a>=b,代表如果 a 大於或等於 b,條件為真。
<= 如果程式碼寫a<=b,代表如果 a 小於或等於 b,條件為真。

然後,我們再來看一下,邏輯運算子!

邏輯運算子

邏輯運算子比較像是判斷兩個條件是否同時成立。這個部分可能對初學者來說會有一點抽象,但如果學過數位邏輯相關課程的讀者,其實可以把他想像成 and 閘、or 閘、not 閘,如果沒學過也沒關係,下面會有程式碼可以參考!

運算子 說明
&& 且,and,表示前後條件都要為真,條件為真。
`
! 否,not,用來逆轉運算元的邏輯狀態。

可能講了那麼多,列出那麼多運算子,還是會覺得一頭霧水,所以,我們來看一下簡單的程式碼!

#include<stdio.h>
int main(){
	int a = 1, b = 2, c = 1, d = 0;
	if(a == b)
		printf("a等於b\n");
	else
		printf("a不等於b\n");
	if(a == c)
		printf("a等於c\n");
	else
		printf("a不等於c\n");
	if(a >= b)
		printf("a大於等於b\n");
	else
		printf("a小於b\n");
	if((a+c) == b && a == c)
		printf("表示a+c等於b,且a會等於c\n");
	else
		printf("條件不成立\n");
	return 0;
	
}

上面的程式碼輸出結果,是這樣的:

我們來簡單解釋一下上面的程式碼在做甚麼吧~

  • 上面用的 if,是條件判斷陳述,他會判斷後面的條件是否成立,成立的話就執行下面的程式碼,不成立的話則執行 else 下面的程式碼。(關於 if else 之後會再做介紹的)
  • 上面的程式碼呢,一樣先宣告變數。第一個 if 裡面的條件式是(a==b),告訴我們,如果變數 a 與變數 b 相等,就會輸出"a 等於 b"這一句話。其他行也可以以此類推。
  • 值得注意的是,最後一個 if 裡面用到了我們的邏輯運算子 &&,所以這個條件告訴我們,&& 前面的條件:a 加 b 等於 c,與 && 後面的條件:a 等於 c,這兩個條件要同時成立才會輸出「表示 a+c 等於 b,且 a 會等於 c」這一段話。

明天,我們來介紹位元運算子吧~


上一篇
【Day 08】C 的算數運算子
下一篇
【Day 10】C 語言的位元運算子
系列文
C 語言的簡單入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言